import service from '@/utils/request'

/** 带分页的角色列表
 *  name string 角色名称
 * PageOrderParam	页码参数
 * 包括：order、asc、page、limit
 */
export const getRolePage = (params) => {
	return service.get('/api/sys/role_page', { params })
}

/**
 * 角色列表树 
 * 无参数，用于下拉框
 */
export const getRoleTree = () => {
	return service.get('/api/sys/role_list')
}

/**
 * 删除角色
 * @param {*} ids 角色id数组
 *  { id_arr: ids }
 */
export const deleteRole = (ids) => {
    return service({
        url: '/api/sys/role',
        method: 'delete',
        data: { id_arr: ids }
    })
}

/**
 * 获取一条角色信息
 */
export const getRole = (id) => {
	return service.get('/api/sys/role', {params: {id}})
}

/**
 * 新增角色
 * @param {*} dataForm 角色表单数据
 */
export const addRole = (dataForm) => {
	return service.post('/api/sys/role', {data: dataForm})
}

/**
 * 编辑角色
 * @param {*} dataForm 角色表单数据
 */
export const editRole = (dataForm) => {
	return service.put('/api/sys/role', {data: dataForm})
}

/** 以下为角色和用户的关联 **/
/**
 * 获取角色关联的用户列表 带有分页
 *  roleId   int    角色id
 *  username string  用户名
 *  mobile   string  手机号
 *  gender   string  性别（0男 1女 2未知）
    PageOrderParam   分页参数
    参数包括：order、asc、page、limit
 */
export const getRoleUserPage = (params) => {
	return service.get('/api/sys/role_user_page', {params})
}

/**
 * 添加/编辑角色时，显示的所有系统菜单
 * 无参数，用于下拉框
 */
export const getRoleMenu = () => {
	return service.get('/api/sys/role_menu')
}

/**
 * 某个角色添加多个用户的操作
 * id_arr []int64  菜单id数组
 * { id_arr: dataForm }
//return service.post('/api/sys/role_user', {params: {roleId}, data: dataForm})
 */
export const addRoleUser = (roleId, dataForm) => {
	return service({
		url: '/api/sys/role_user',
		method: 'post',
		params: {roleId},
		data: {id_arr: dataForm}
	})
}

/**
 * 某个角色删除多个用户的操作
 * id_arr []int64  菜单id数组
 */
export const deleteRoleUser = (roleId, dataForm) => {
	return service({
		url: '/api/sys/role_user',
		method: 'delete',
		params: {roleId},
		data: {id_arr: dataForm}
	})
}